package com.hskn.hss.module.carviolation.service;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hskn.hss.core.domain.BaseEntity;
import com.hskn.hss.core.page.TableDataInfo;
import com.hskn.hss.exception.HssException;
import com.hskn.hss.module.alarmcar.entity.AlarmCar;
import com.hskn.hss.module.alarmcar.entity.AlarmCarCharts;
import com.hskn.hss.module.carviolation.entity.CarViolation;
import com.hskn.hss.module.carviolation.entity.CarViolationCharts;
import com.hskn.hss.module.oilDevice.to.MileageReportTableTO;

import java.text.ParseException;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author hskn
 * @since 2021-05-20
 */
public interface ICarViolationService extends IService<CarViolation> {

    JSONObject mList(BaseEntity entity, JSONObject params) throws HssException;

    JSONObject collectList(BaseEntity entity, JSONObject params) throws HssException;

    Map<String, Object> collectCount(JSONObject params) throws HssException;

    List<Map> countByDay(BaseEntity entity, JSONObject params) throws HssException;

    List<Map<String, Object>> histogram(JSONObject params) throws HssException;

    List<Map<String, Object>> summaryByWglx(JSONObject params) throws HssException;

    JSONObject summaryByWglxJson(BaseEntity entity, JSONObject params) throws HssException;

    void deal(JSONObject params) throws HssException;

    List<List<Object>> selectCarViolationForCharts(CarViolation carViolation) throws ParseException;

    List<CarViolationCharts> selectCarViolationForTable(CarViolation carViolation);

    TableDataInfo selectCarViolationForTableDetail(CarViolation carViolation);
}
